package cn.fl.repay.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.repay.dto.InsOfflineRepayDtlDTO;
import cn.fl.repay.vo.InsOfflineRepayDtlVO;

import java.util.ArrayList;
import java.util.List;

/**
* @Description: 线下还款申请明细表 转换器
* VO是客户端传递数据到服务端进行转换的数据
* VO转换数据变成DTO传递到服务端
* VO不能在服务端出现
*/
public class InsOfflineRepayDtlVOTransform {


   /**
    * DTO 转  VO
    * @param dto InsOfflineRepayDtlDTO
    * @return InsOfflineRepayDtlVO
    */
   public static InsOfflineRepayDtlVO toVO(InsOfflineRepayDtlDTO dto) {
       InsOfflineRepayDtlVO vo = null;
       if (dto != null) {
           vo = new InsOfflineRepayDtlVO();
           vo.setId(dto.getId());
           vo.setApplyLogId(dto.getApplyLogId());//线下还款申请记录ID
           vo.setBillDtlId(dto.getBillDtlId());//账单明细ID
           vo.setPayPd(dto.getPayPd());//期次
           vo.setCapAmt(dto.getCapAmt());//本金（分）
           vo.setIntrAmt(dto.getIntrAmt());//利息（分）
           vo.setPntAmt(dto.getPntAmt());//罚息（分）
           vo.setGrtAmt(dto.getGrtAmt());//担保费（分）
           vo.setOvdGrtAmt(dto.getOvdGrtAmt());//逾期担保费（分）
           vo.setDamAmt(dto.getDamAmt());//违约金（分）
           vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）

           vo.setCrtTm(dto.getCrtTm());//创建时间
           vo.setCrtUsrId(dto.getCrtUsrId());//创建人
           vo.setMdfTm(dto.getMdfTm());//修改时间
           vo.setMdfUsrId(dto.getMdfUsrId());//修改人
       }
       return vo;
   }

   /**
    * VO 转 DTO
    * @param vo InsOfflineRepayDtlVO
    * @return InsOfflineRepayDtlDTO
    */
   public static InsOfflineRepayDtlDTO toDTO(InsOfflineRepayDtlVO vo) {
       InsOfflineRepayDtlDTO dto = null;
       if (vo != null) {
           dto = new InsOfflineRepayDtlDTO();
           dto.setId(vo.getId());
           dto.setApplyLogId(vo.getApplyLogId());//线下还款申请记录ID
           dto.setBillDtlId(vo.getBillDtlId());//账单明细ID
           dto.setPayPd(vo.getPayPd());//期次
           dto.setCapAmt(vo.getCapAmt());//本金（分）
           dto.setIntrAmt(vo.getIntrAmt());//利息（分）
           dto.setPntAmt(vo.getPntAmt());//罚息（分）
           dto.setGrtAmt(vo.getGrtAmt());//担保费（分）
           dto.setOvdGrtAmt(vo.getOvdGrtAmt());//逾期担保费（分）
           dto.setDamAmt(vo.getDamAmt());//违约金（分）
           dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）

           dto.setCrtTm(vo.getCrtTm());//创建时间
           dto.setCrtUsrId(vo.getCrtUsrId());//创建人
           dto.setMdfTm(vo.getMdfTm());//修改时间
           dto.setMdfUsrId(vo.getMdfUsrId());//修改人
       }
       return dto;
   }

   /**
    * DTO集合 转 VO集合
    * @param list List<InsOfflineRepayDtl>
    * @return List<InsOfflineRepayDtlDTO>
    */
   public static List<InsOfflineRepayDtlVO> toVOList(List<InsOfflineRepayDtlDTO> list) {
       List<InsOfflineRepayDtlVO>  voList = new ArrayList<InsOfflineRepayDtlVO>();
       if(CollectionUtils.isNotEmpty(list)){
           for (InsOfflineRepayDtlDTO dto : list) {
               voList.add(toVO(dto));
           }
       }
       return voList;
   }

    /**
     * DTO集合 转 VO集合
     * @param list List<InsOfflineRepayDtl>
     * @return List<InsOfflineRepayDtlDTO>
     */
    public static List<InsOfflineRepayDtlDTO> toDTOList(List<InsOfflineRepayDtlVO> list) {
        List<InsOfflineRepayDtlDTO> dtoList = new ArrayList<InsOfflineRepayDtlDTO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (InsOfflineRepayDtlVO dto : list) {
                dtoList.add(toDTO(dto));
            }
        }
        return dtoList;
    }
}
